function setslot(s)
  local idx = s.index;
  local t = dream1coridor3_lock;
  local slot = "_slot" .. (t._try+1);
  local names = { "круг", "треугольник", "квадрат" };
  local names2 = { "кругом", "треугольником", "квадратом" };
  t[slot] = idx;
  t._try = t._try + 1;
  if t._try == 3 then
    if t._slot1 == 2 and t._slot2 == 3 and t._slot3 == 1 then
      t._open = true;
      sound_("beep")();
      return [[После того, как на экранчике считывателя вспыхивает ]]..names[idx]..[[, раздаётся резкий щелчок,
               и индикатор электронного замка загорается дружелюбным зелёным светом. Дверь открыта. Я не верю
               своим глазам.]];
    else
      t._slot1 = 0;
      t._slot2 = 0;
      t._slot3 = 0;
      t._try = 0;
      return [[Я вставляю последнюю карту в картоприёмник, однако дверь не открывается -- вместо этого дисплей на
               мгновение вспыхивает красным, и раздаётся резкий неприятный гудок, сообщение об ошибке. Изображения
               геометрических фигур на экране считывателя гаснут.]];
    end
  else
    local ret = [[Я вставляю карту в прорезь, и через мгновение она выскакивает обратно, а на экране считывателя для карт]];
    if t._try==1 then
      return ret..[[ загорается маленький ]]..names[idx]..[[.]];
    elseif t._try==2 then
      return ret..[[, рядом с ]]..names2[t._slot1]..[[, загорается ]]..names[idx]..[[.]];
    else
      return "error";
    end
  end
end

function dream1str_calm()
  local dream1str_calm1 =
    [[Эй, что там тебе говорил на прощание Виктор? Попробуй просто представить, что всё уже завершилось -- ты прошёл все
      тесты, тебя приняли. Просто подумай об этом как о свершившемся факте -- это самый верный способ бороться с волнением.]];
  local dream1str_calm2 =
    [[Нет, мне всё-таки нужно взять себя в руки. Если я начну психовать, то мне это точно не поможет. Пока что всё складывается
      хорошо, я набрал отличный средний балл. Остались только сущие формальности, как говорил профессор.]];
  local dream1str_calm3 =
    [[Даже не знаю, что сегодня со мной. На экзаменах я нервничал не так сильно.]];
  local dream1str_calm4 =
    [[Сдаётся мне, что это не очень хорошая идея. Особенно в день, когда я прохожу психологический тест.]];
  local dream1str_calm5 =
    [[Сегодня я определённо не в себе. Наверное, во всём виноват стресс из-за этих экзаменов. Но мне нужно взять себя в руки.]];
  local dream1str_calm6 = [[Просто успокойся. Не нужно сходить с ума.]];
  local dream1str_calm7 = [[И зачем мне это делать? Что вообще со мной сегодня? Обычно мне не приходят в голову такие мысли.]];
  local dream1str_calm8 = [[Если я не возьму себя в руки, то о поступлении можно забыть.]]

  local retval =
    rnd_ {
       dream1str_calm1
      ,dream1str_calm2
      ,dream1str_calm3
      ,dream1str_calm4
      ,dream1str_calm5
      ,dream1str_calm6
      ,dream1str_calm7
      ,dream1str_calm8
    };
  return retval();
end


------------------------------------------------------------------------------------------------------------------------------
--dream1room
------------------------------------------------------------------------------------------------------------------------------
dream1start = gfxroom {
   ontimer      = function(s)
                    if s._y == nil then
                      s._y = 900;
                    end
                    local gfx = s:loadgfx("gradient");
                    sprite.copy(gfx, 0, s._y, 800, 600, s.pic, 0, 0);
                    if s._y > 0 then
                      s._y = s._y - 3;
                    end
                  end
  ,stop         = 350
  ,next         = walk_("dream1room")
  ,dispose      = nil_("_y")
  ,rate         = 60
}

dream1room = scene {
   checkpoint   = true
  ,obj          = {
                     "dream1room_room"
                    ,"dream1room_coridor"
                    ,"dream1room_walls"
                    ,"dream1room_door"
                    ,"dream1room_wallpaper"
                    ,"dream1room_window"
                    ,"dream1room_chair"
                    ,"dream1room_table"
                    ,"dream1room_statue"
                    ,"dream1room_shaft"
                    ,"dream1room_professor"
                    ,"dream1room_card1"
                    ,"dream1room_card2"
                    ,"dream1room_card3"
                    ,"cmn_floor"
                    ,"cmn_ceil"
                  }
  ,Wait         = [[И чего мне ждать? Сколько раз я представлял себе этот день... Не буду же я сейчас просто переминаться с
                    ноги на ногу.]]
  ,Exit         = choose_ {
                     ["default"] = [[Мне пока ещё рано уходить.]]
                    ,["dream1room_professor._talk==10"] = walk_("dream1coridor1")
                  }
  ,Stand        = choose_ {
                     ["default"] = [[Я и так стою на ногах.]]
                    ,["dream1room_chair._sit"] = [[Я уже встал со стула -- я так нервничаю, что не могу долго сидеть на одном месте.]]
                  }
}

dream1room_room = item {
   nam          = _"комната"
  ,dsc          = [[Я стою в светлой широкой комнате прямо напротив окна -- так, что лучи полуденного солнца падают мне на лицо,
                    и я невольно прищуриваю глаза. За узким офисным столом сидит пожилой лысеющий мужчина, похожий на титулованного
                    профессора, члена бесчисленных академий и автора множества трудов, который так погружён в свои научные изыскания,
                    что не слишком-то заботится о внешности -- волосы на висках не приглажены, и седые завитки забавно торчат над
                    ушами, щёки пробриты неровно, да и дорогая с виду сорочка, возможно, даже из натуральной ткани, выглядит так,
                    словно он носил её, не снимая, не меньше недели.^
                    Перед столом разместился неказистый стул с обивкой из имитирующей пористую кожу синтетики.^
                    Все стены в комнате увешаны космическими фотографиями в разномастных рамках -- тут и Солнечная Система почти
                    во всём многообразии своих планет, включая Землю, медленно утопающую в ночи, и Дельта 12, заваленная мусором и
                    астероидами, и даже "Патрокл", снятый в таком театральном ракурсе, что кажется, будто бы он уплывает в закат,
                    навстречу солнечному ветру. Эту галерею немного портит уродливая решётка воздуховода, которая предательски
                    торчит под самым потолком, как раз над широкоформатной панорамой Тёмной Луны 120-12.^
                    Дверь, через которую я вошёл сюда, теперь плотно закрыта, и у меня почему-то возникает такое чувство, что мы
                    отрезаны от всего остального мира, время снаружи остановилось, и солнечный вид за окном застыл, как изображение
                    в проекторе, -- до тех пор, пока мы не закончим свой разговор.]]
  ,Exam         = redirect_("dsc")
  ,Walk         = [[Я начинаю взволнованно расхаживать по комнате.]]
}:like(pRoom)

dream1room_coridor = item {
   nam          = _"коридор"
  ,Exit         = redirect_("Exit", "dream1room")
}:like(pLocation)

dream1room_walls = item {
   nam          = name_ {
                     ["default"] = _"стены"
                    ,["Walk"] = _"стена"
                    ,["Approach"] = _"стена"
                  }
  ,Exam         = [[Обычные стены, покрашенные светлой антистатической краской и увешанные разномастными фотографиями на
                    космическую тематику.]]
  ,Move         = [[Не думаю, что стоит пытаться двигать стены.]]
  ,Approach     = redirect_("Walk", "dream1room_wallpaper")
  ,Wreck        = dream1str_calm
  ,Ascend       = dream1str_calm
}:like(pWall)

dream1room_door = item {
   _examed      = false
  ,nam          = _"дверь"
  ,Exam         = chain_ {
                    set_("s._examed"),
                    [[Единственную дверь в этой комнате я сам закрыл, как только зашёл сюда -- профессор сам
                      попросил меня об этом, пожаловавшись на сквозняки, хотя на мой взгляд в здании
                      даже немного душно. К тому же я сегодня -- единственный утренний посетитель, больше никого нет.
                      Зачем же закрывать дверь? Почему это так необходимо?..^
                      Нет, почему я сейчас думаю об этом? Закрыть дверь -- самая обычная просьба, здесь нет ничего странного.
                      Вот разговаривать при открытых дверях было бы действительно странно. Никто не делает так. Всё в порядке...^
                      Но почему он заговорил о сквозняке?]]
                  }
  ,Open         = choose_ {
                     ["default"] =
                        [[Думаю, будет немного странно, если я сейчас открою эту дверь. Наверняка профессор подумает, что я
                          внезапно решил уйти. Мне нужно взять себя в руки. Я должен быть уверенным и спокойным.]]
                    ,["dream1room._done"] = redirect_("Exit", "dream1room")
                  }
  ,Close        = [[Думаю, лучше оставить эту дверь в покое.]]
  ,Move         = choose_ {
                     ["default"] = [[Я не очень представляю, как это можно сделать.]]
                    ,["s._examed"] =
                        [[Возьми себя в руки. Всё в порядке. Это просто обычный тест. И перестань, наконец, думать об 
                          этой двери.]]
                  }
  ,Wreck        = dream1str_calm
  ,Ascend       = dream1str_calm
}:like(pDoor)

dream1room_wallpaper = item {
   nam          = _"фотографии"
  ,Exam         = [[Кажется, это не фотографии, а сгенерированные на компьютере космические виды. Я, конечно, не уверен, но
                    многие пейзажи смотрятся слишком уж напыщенно и картинно -- особенно, тот с фиолетовой туманностью и тонущей
                    в густом бездонном мраке метеоритной грядой. Реальность, насколько я замечал, обычно не склонна к
                    театральным эффектам.]]
  ,Take         = [[Ну и зачем мне эти картинки? Что-то странные мысли приходят мне сегодня в голову.]]
  ,Move         = [[Так. Нужно успокоиться. Я не собираюсь здесь ничего трогать и перевешивать... Никогда бы раньше не подумал,
                    что буду на грани паники из-за обычной проверки.]]
  ,Approach     = [[Я подхожу к фотографиям и делаю вид, что рассматриваю их, хотя в действительности могу думать лишь об одном.
                    Психологический тест. Психологический тест. Психологический тест.]]
  ,Tear         = dream1str_calm
}:like(pHang)

dream1room_window = item {
   nam          = _"окно"
  ,Exam         = [[Широкое, с толстым многослойным стеклопакетом, окно, которое намертво врезано в ровную поверхность
                    стены. Думаю, окно это вообще невозможно открыть -- хотя удивляться тут нечему, так сделано в большинстве
                    современных зданий. Стекло здесь, скорее всего, с жидкокристаллическим покрытием -- с электронным шторами,
                    которые могут снизить светопропускание вплоть до нуля, убедительно имитируя непроглядную ночную темноту. Но
                    сейчас шторы не активированы, и всю комнату заливает яркий полуденный свет.]]
  ,Open         = [[Я не уверен, что это окно вообще можно открыть. Да и зачем мне его открывать?]]
  ,Move         = dream1str_calm
  ,Approach     = [[Я взволнованно прохаживаюсь по комнате и останавливаюсь у окна. День сегодня удивительно ясный -- небо почти белое,
                    с лёгкой примесью голубого, точно вся атмосфера планеты медленно выцветает в солнечном свете. Глядя на это
                    небо, кажется, что космическое пространство -- чей-то безумный вымысел, и звёзды существуют лишь на тех 
                    цветастых картинках, что развешены в этом кабинете.]]
}:like(pWindow)

dream1room_chair = item {
   _sit         = false
  ,nam          = _"стул"
  ,Exam         = [[Обычный офисный стул с обивкой из светлой искусственной кожи и тонкими, широко расставленными ножками. Ничего 
                    интересного. Не время сейчас разглядывать стулья.]]
  ,Sit          = choose_ {
                     ["default"] = 
                        chain_ {
                          set_("s._sit"),
                          [[Я сажусь на стул напротив профессора.^
                            -- Как там раньше говорили? -- улыбается он. -- В ногах правды нет?^
                            -- Правды в ногах? -- удивляюсь я. -- Не слышал. Интересное выражение.^
                            Я пытаюсь улыбнуться, но моя ответная улыбка получается вымученной и неестественной. Профессор
                            замечает это.^
                            -- Да не волнуйтесь вы так! -- говорит он. -- Уверен, всё у вас получится.^
                            Однако его слова вовсе не вселяют в меня уверенность. Я несколько секунд сижу, глубоко вздыхая,
                            а потом встаю и опираюсь руками на тонкую спинку стула.]]
                        }
                    ,["s._sit"] = "Я думаю лучше оставить этот стул в покое. У меня есть дела поважнее."
                  }
  ,Ascend       = [[Залезать с ногами на стол -- не лучший способ произвести хорошее впечатление во время психологического теста.]]
  ,Take         = [[Не думаю, что стоит забирать с собой этот стул. Да, видно, я и правда сильно нервничаю сегодня. Даже мысли как-то путаются.
                    Нужно взять себя в руки -- иначе всё будет потеряно.]]
  ,Move         = [[Я отодвигаю стул от стола, как будто намереваюсь присесть, однако продолжаю стоять напротив профессора, сжимая руками 
                    хлипкую спинку стула.]]
  ,Wreck        = dream1str_calm
}:like(pChair)

dream1room_table = item {
   _examed      = false
  ,nam          = _"стол"
  ,Exam         = chain_ {
                    set_("s._examed"),
                    [[Этот стол совсем не выглядит как чьё-то рабочее место -- на нем нет ничего, кроме тонкого экрана служебного терминала и
                      странной золотистой статуэтки, изображающей древнюю ракету, заключённую в похожую на подкову рамку. Да и сама поверхность
                      стола абсолютно чистая -- я не замечаю ни единого пятнышка или следа от кружки с кофе.]]
                  }
  ,Lie          = [[Не думаю, что произведу хорошее впечатление, если заберусь на этот стол.]]
  ,Move         = [[Зачем мне передвигать стол?]]
  ,Take         = [[Да я даже приподнять его не смогу. Нет, со мной определённо что-то не то сегодня.]]
  ,Open         = [[Я не собираюсь копаться в чужом столе, особенно, когда за этим столом сидит его владелец.]]
  ,Close        = [[Думаю, стол и так закрыт.]]
  ,Sit          = redirect_("Sit", "dream1room_chair")
  ,Wreck        = dream1str_calm
}:like(pTable)

dream1room_statue = item {
   _moved       = false
  ,nam          = _"статуэтка|~ракета"
  ,Exam         = "На статуэтке написано: <i>Юрий Алексеевич Гагарин, 12 апреля 1961 года</i>."
  ,Take         = [[Не стоит брать эту статуэтку -- вряд ли воровство сувениров украсит мою личную характеристику. Да и в любом случае -- 
                    зачем она мне нужна?]]
  ,Move         = choose_ {
                     ["default"] =
                        chain_ {
                          set_("s._moved"),
                          [[Рука моя невольно тянется к анодированной ракете, профессор замечает это и улыбается:^
                            -- Это в честь юбилея открытия космоса. Раздавали тогда всем сотрудникам. Мне она правда в наследство от моего
                            предшественника досталась... Красивая вещица, правда?^
                            -- Да, -- соглашаюсь я. -- А из чего она?^
                            -- Это просто пластик, -- отвечает профессор. -- Но на ощупь почти не отличишь от металла. Правда, только
                            лёгкая слишком.]]
                        }
                    ,["s._moved"] = "Не стоит трогать эту статуэтку, я и так веду себя довольно странно."
                  }
  ,Wreck        = [[Вот этого я делать точно не буду.]]
  ,cnd          = if_("dream1room_table._examed")
}:like(pItem)

dream1room_shaft = item {
   nam          = _"вентиляционная решётка"
  ,Exam         = [[Вентиляционная решётка необычно большая -- кажется, в шахту сможет пролезть даже взрослый человек. В этом здании явно
                    довольно своеобразная система воздуховодов -- как будто его построили пару сотен лет назад. Странно, что я не замечал этого
                    раньше, ведь я уже не первый раз здесь.]]
  ,Open         = [[Зачем мне открывать вентиляционную решётку? К тому же я всё равно не смогу до неё дотянуться.]]
  ,Move         = [[До решётки мне не дотянуться, да и зачем вообще делать это?]]
  ,Approach     = [[Я подхожу к вентиляционной решётке и чувствую, как лёгкий ветерок овевает мне лицо. Довольно архаичная система воздухоснабжения,
                    однако работает весьма эффективно. Впрочем, мне почему-то начинает казаться, что воздух в комнате пахнет, как после грозы.]]
  ,Take         = [[Выламывать вентиляционную решётку с целью кражи... Так, что ещё придёт мне в голову сегодня? Как я вообще могу даже просто
                    надеяться на то, что пройду психологический тест?]]
  ,Wreck        = redirect_("Take")
  ,Ascend       = dream1str_calm
}:like(pBuild)

dream1room_professor = item {
   _talk        = 0
  ,_examed      = false
  ,nam          = _"профессор"
  ,Exam         = choose_ {
                     ["default"] = 
                        chain_ {
                          set_("s._examed"),
                          [[Он кого-то мне напоминает, однако я никак не могу вспомнить -- возможно, от волнения. На профессоре светлый клетчатый
                            пиджак со старомодными широкими лацканами. Кажется, что пиджак ему немного велик, точно он по ошибке надел чужую
                            одежду. Плечи пиджака усыпаны перхотью, а из нагрудного кармана торчит смятый носовой платок. Я почти уверен, что
                            уже видел профессора раньше, но никак не могу сообразить -- где. Это всё моя скверная память на лица...^
                            Профессор замечает мой пристальный взгляд.^
                            -- Что-то не так? -- спрашивает он.^
                            -- Нет, нет, извините, просто... Я, наверное, и правда слишком сильно нервничаю сегодня.]]
                        }
                    ,["s._examed"] = [[Не стоит на него всё время пялиться.]]
                  }
  ,Approach     = redirect_("Talk")
  ,Attack       = [[Бросаться с кулаками на человека, от которого зависит моё поступление? Ну уж нет, я ещё не выжил из ума.]]
  ,Talk         = choose_ {
                     ["default"] =
                        chain_ {
                          inc_("s._talk"),
                          [[Профессор за столом улыбается мне дежурной, хорошо отрепетированной улыбкой.^
                            -- Садитесь, -- он показывает рукой на стул. -- Как там говорили? Чувствуйте себя, как дома? Я последнее время увлекаюсь
                            фразеологизмами двадцатого века. Впрочем, на самом деле -- это и не фразеологизм вовсе. Так ведь?^
                            Я думаю, что ответить. Другой бы на моём месте сразу нашёлся и как-нибудь уместно пошутил в ответ, однако в голову мне ничего
                            не приходит.]]
                        }
                    ,["s._talk==1"] = 
                        chain_ {
                          inc_("s._talk"),
                          [[-- Так, а вы у нас..? -- спрашивает профессор.^
                            -- Тихонов. Алексей Витальевич, -- говорю я. -- Регистрационный номер два, два, три, ноль, четырнадцать.^
                            -- Да, вижу, -- он кивает головой и что-то вводит на клавиатуре. -- Средний балл у вас сейчас четыре и девяносто шесть,
                            это неплохо. В прошлом году проходили все, у кого было больше четырёх и девяносто трёх.^
                            -- Ну, это в прошлом...^
                            -- Да сейчас конкурс примерно такой же, -- улыбается профессор. -- Как там говорится? От лишних волнений... А, не помню.
                            В общем, считайте, что вы уже практически приняты. Как там... Вам остался последний прыжок. Или рывок.^
                            Профессор вновь начинает печатать на клавиатуре, сосредоточенно вглядываясь в монитор, как будто забыв о моём
                            присутствии.]]
                        }
                    ,["s._talk==2"] = 
                        chain_ {
                          inc_("s._talk"),
                          [[-- Скажите, -- спрашиваю я, -- а в чём вообще... заключается этот тест? Будет какой-то вопросник или...^
                            -- Нет, нет, никаких вопросников! -- отвечает профессор. -- Это просто формальность, не более... Ну, знаете, дань
                            старым временам.^
                            -- Так что я должен делать?^
                            -- Ну, для примера вот...^
                            Профессор достает из пиджака три карточки, похожие на игральные, и раскладывает их на столе.^
                            -- Просто карточки. Выберите любую, какая вам понравится.]]
                        }
                    ,["s._talk==3"] =
                        chain_ {
                          [[-- Просто выбрать любую?^
                            -- Да, да, любую карту.^
                            Профессор продолжает печатать и даже не смотрит на меня.]]
                        }
                    --Card 1
                    ,["s._talk==4 and dream1room_card1._took"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Ну... -- я взволнованно запинаюсь, хотя и ожидал этого вопроса. -- Я просто выбрал ту карту, которую мне 
                            захотелось. Вы ведь не объяснили мне, по каким критериям я должен выбирать. Иногда выбор -- это просто выбор.^
                            Профессор как-то странно кривит губы и кивает головой.^
                            -- Что ж, неплохо сказано. Выбор -- это просто выбор. И я почти готов принять такой ответ, но...^
                            Профессор делает выразительную паузу и покачивает рукой. Я, не отрываясь, смотрю на перхоть на его плечах.^
                            -- Но что? -- не выдерживаю я.^
                            -- Иногда приходится делать выбор вслепую, не имея, так сказать... Как там говорилось?.. Впрочем, неважно. Важно 
                            другое, -- профессор пристально смотрит на меня. -- Даже делая выбор вслепую, вы всё равно руководствуетесь чем-то,
                            правда?^
                            Я невольно киваю головой.^
                            -- Так чем же вы руководствовались?]]
                        }
                    ,["s._talk==5 and dream1room_card1._took"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Наверное, мне просто нравится эта фигура, -- говорю я.^
                            -- Круг? И что же в нём такого? Что вам в нём понравилось?^
                            -- Он напоминает мне планету... то, как она выглядит из космоса, -- говорю я первое, что приходит мне в голову.^
                            -- Какую-то конкретную планету? -- не унимается профессор.^
                            -- Нет, наверное... Просто планету. Это как символ... путешествия. Не знаю, как объяснить...^
                            -- Ну, вы уж попробуйте, -- улыбается профессор.]]
                        }
                    ,["s._talk==6 and dream1room_card1._took"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Это как символ... -- я с трудом нахожу слова, -- прощания, когда ты смотришь на свою планету в иллюминатор,
                            и в то же время -- это символ чего-то нового, новых миров.^
                            -- То есть это, по вашему, космический пейзаж? -- ухмыляется профессор.^
                            -- Наверное. В каком-то смысле. А почему бы и нет?^
                            -- Всё это хорошо, но это... -- профессор нетерпеливо трясёт рукой. -- Всё это не даёт ответа на мой вопрос. Я же
                            не спрашивал вас, какая из этих фигур вам нравится больше и не просил, чтобы вы выбирали... Как там
                            говорили? За красивые глаза?.. Почему вы решили взять именно то, что вам нравится, а не попытались угадать, например,
                            то, что нравится мне? Я вот, к примеру, ненавижу круги.]]
                        }
                    ,["s._talk==7 and dream1room_card1._took"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Мне нужно было выбрать, и я выбрал, -- говорю я. -- В данной ситуации любой выбор может быть ошибочным. К тому же
                            я не знаю... не знал, что нравится вам. Зато знаю то, что нравится мне.^
                            -- Вы всегда руководствуетесь такими соображениями при выборе? -- спрашивает после некоторой паузы профессор.^
                            -- Ну, мне по правде редко приходится выбирать что-либо, не зная, зачем я это делаю.^
                            Профессор хмурится и как-то картинно откашливается в кулак.^
                            -- То есть вы хотите сказать, что в данной ситуации вы не знали, зачем вы выбираете карту?]]
                        }
                    ,["s._talk==8 and dream1room_card1._took"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Да, -- говорю я. -- Я не знал, зачем выбираю карту.^
                            -- Странно. Мне казалось, причина очевидна.^
                            -- Честно говоря, я...^
                            -- Вы выбрали эту карту, -- перебивает меня профессор, -- чтобы сдать психологический тест, разве нет?^
                            -- В этом смысле -- да, -- соглашаюсь я.^
                            -- А здесь нет и не может быть другого смысла! Вам что, нужна эта карта? Хотите забрать её с собой? Вы взяли её по
                            той же самой причине, по которой пришли сегодня сюда.^
                            -- Да, но я уже сказал вам, по каким причинам я выбрал именно эту карту, -- говорю я.^
                            -- И больше вам добавить нечего?]]
                        }
                    --Card 2
                    ,["s._talk==4 and dream1room_card2._took"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Наверное, потому что это часть нашего... надеюсь, что нашего герба, -- улыбаюсь я.^
                            -- Ловко! -- Профессор причмокивает губами и кивает головой. -- Я вообще люблю такие ответы. Как это... Всё время
                            забываю... А! За словом в кошелёк не лезет. Но... вы меня извините, где вы здесь видите герб? Это же просто
                            треугольник.^
                            -- Значит, у меня хорошая фантазия, -- отвечаю я.^
                            -- Имея хорошую фантазию, можно увидеть наш герб и, к примеру, в круге. Или квадрате. Там ведь и эти фигуры
                            присутствуют. Но вы ведь не выбрали круг и квадрат? Потом у нас всё же не экзамен на воображение.^
                            -- Но мне казалось, что развитое... -- начинаю я.^
                            -- Да, да, разумеется. Наряду с хорошей обучаемостью, ответственностью, трудолюбием и... -- профессор делает неопределённый
                            жест рукой, -- умением принимать решения в экстренных ситуациях... Так почему треугольник?]]
                        }
                    ,["s._talk==5 and dream1room_card2._took"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Видимо, ассоциации, -- пытаюсь объяснить я. -- Это и герб, и сильная, воинственная фигура... -- Я запинаюсь,
                            понимая, что несу полную чушь.^
                            -- Ну, ну, продолжайте.^
                            -- И... вы опять же скажете, что это не экзамен на воображение... но треугольник напомнил мне силуэт "Патрокла". Я
                            как раз увидел тут у вас фотографию...^
                            -- То есть и герб, и наш самый большой линкор -- всё в этом в злосчастном треугольнике? -- ухмыляется профессор.^
                            -- Ну я же говорю, ассоциации. А как я ещё мог выбирать?^
                            -- Нет уж, это вы мне скажите, -- не успокаивается профессор.]]
                        }
                    ,["s._talk==6 and dream1room_card2._took"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Да в общем-то я всё уже сказал. Если я делал выбор как-то неправильно, то... В любом случае, выбор уже сделан.^
                            -- Да, верно. Нужно принимать последствия любого выбора. Хотя, конечно же, лучше думать о таких вещах ещё до того,
                            как выбор совершён.^
                            -- Я думал, что выбрать именно эту карту будет правильно, -- отвечаю я.^
                            -- Что ж, ладно... А, кстати, "Патрокл"... Почему именно "Патрокл"? Большинство кораблей имеют подобную форму.
                            Неужели это всё лишь из-за фотографии на стене?]]
                        }
                    ,["s._talk==7 and dream1room_card2._took"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Не только, -- говорю я. -- По правде сказать, я бы очень хотел когда-нибудь поступить на службу на такой корабль.^
                            -- И как вы себе это представляете? -- Профессор откидывается на спинку кресла и сцепляет на груди руки. -- Каково
                            это -- служить на "Патрокле"? Ну, если немного пофантазировать. Вы же любите...^
                            -- Я думаю, это очень большая ответственность, -- начинаю я, -- и очень много мужчин и женщин, которые...^
                            -- Ответственность? -- перебивает меня профессор. -- Это когда люди отвечают за последствия своего выбора? Вот предположим,
                            в нашем тесте вам нужно было продемонстрировать, что вы являетесь миролюбивым человеком, который... Как там говорилось?
                            Умеет сглаживать острые углы. Как думаете, справились вы с этой задачей?]]
                        }
                    ,["s._talk==8 and dream1room_card2._took"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Думаю, что у меня есть другие положительные качества, которые смогут компенсировать этот недостаток, -- отвечаю я.^
                            Профессор смеётся.^
                            -- Но при этом тест-то вы провалили, -- говорит он.^
                            -- Да, -- соглашаюсь я. -- Если именно в этом тест и заключался.^
                            -- Значит всё? Больше вам добавить нечего? -- спрашивает профессор.]]
                        }
                    --Card 3
                    ,["s._talk==4 and dream1room_card3._took"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Мне кажется... -- начинаю я и тут же сглатываю слюну. -- В таких ситуациях, как эта, когда нужно сделать выбор и при
                            этом ты не знаешь, чем именно нужно при выборе руководствоваться, то...^
                            Я снова запинаюсь.^
                            -- Ну же, смелее, -- говорит профессор.^
                            -- Мне кажется, в таких ситуациях нужно доверять интуиции, -- говорю, наконец, я. -- Это единственная возможность
                            сделать выбор правильно.^
                            -- Интуиция -- это, конечно, хорошо, -- кивает головой профессор, -- но почему вы решили, что при выборе нельзя было
                            больше ничем руководствоваться?]]
                        }
                    ,["s._talk==5 and dream1room_card3._took"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Я обдумывал разные варианты, -- говорю я, -- и ни в одном из них я не мог быть уверенным. Все эти фигуры... они
                            могут означать что угодно. Или же не означать ничего. А я должен был выбрать. Интуиция, как мне кажется, в такой
                            ситуации -- не самый худший вариант.^
                            -- И что, -- ухмыляется профессор, -- вы всегда так слепо доверяете интуиции?^
                            -- Нет, но...^
                            -- Лучше давайте так, -- перебивает меня профессор. -- Вы -- старший офицер на корабле. Находитесь в нейтральном космосе.
                            На радаре появляется корабль девятых. Сенсоры показывают, что уровень радиации вокруг этого корабля стремительно растёт.
                            Ваши действия?]]
                        }
                    ,["s._talk==6 and dream1room_card3._took"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Но для того, чтобы понять, что происходит, тут просто недостаточно...^
                            -- Да вам некогда понимать! -- неожиданно резко говорит профессор. -- Счёт идет на микросекунды. Вам нужно отдать
                            команду через нейроинтерфейс. И уже через мгновение может быть поздно.^
                            -- Если я подключен к интерфейсу, значит я должен видеть координаты корабля и вектор его движения, -- говорю я. --
                            И это очень важные факторы для принятия решения.^
                            -- Ну, положим, корабль ещё находится на своей территории, однако стремительно идёт на сближение, -- говорит профессор.]]
                        }
                    ,["s._talk==7 and dream1room_card3._took"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Я подниму щиты и свяжусь с кораблём, -- говорю я.^
                            -- Щиты? -- кривит губы профессор. -- Вы не слышали, что я говорил про радиационный фон?^
                            -- Я свяжусь с кораблем, -- повторяю я.^
                            -- И в следующую же микросекунду превратитесь в пыль, -- говорит профессор.^
                            -- Или же предотвращу войну, -- говорю я.^
                            -- Что ж, -- вздыхает профессор, -- тут, как говорится, возможно всё. Но интереснее другое. В такой ситуации вы также
                            будете доверять исключительно интуиции?]]
                        }
                    ,["s._talk==8 and dream1room_card3._took"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Я проанализирую все доступные мне данные, -- говорю я, -- и если их будет недостаточно для принятия решения, то да,
                            я буду доверять интуиции.^
                            -- А вы не боитесь, что в тех ситуациях, когда данных достаточно для того, чтобы принять взвешенное решение, ваш выбор
                            может быть всё равно основан на том, что... несколько выходит за программу стандартного курса?^
                            -- Если бы все решения можно было принимать лишь на основе данных, -- говорю я, -- то, наверное, участие человека
                            вообще бы не потребовалось. Всё могли бы делать машины.^
                            -- Итак, это и есть ваш окончательный ответ? -- спрашивает профессор.]]
                        }
                    --Final
                    ,["s._talk==9"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Боюсь, что да, -- говорю я после некоторой паузы. -- А что... что я должен был сделать? Я, честно говоря, не очень
                            понял...^
                            -- Ладно, -- смеётся профессор. -- Думаю, достаточно, -- и тут же начинает быстро печатать на клавиатуре.^
                            -- То есть это всё? -- спрашиваю я. -- Конец теста?^
                            -- Да, да, почти. Осталась только одна небольшая формальность.^
                            Профессор с силой нажимает указательным пальцам на кнопку ввода и отодвигает клавиатуру.^
                            -- Вам нужно будет заглянуть к моему коллеге. Он в кабинете два... два-два-два... -- профессор вдруг начинает запинаться.
                            -- Два, два, два, двенадцать, -- говорит он, наконец, прижав руку к груди. -- Это дальше по коридору.^
                            -- Но... извините, вы не могли бы мне сказать... -- взволнованно начинаю я. -- Этот тест... Я прошёл его?^
                            -- Мой коллега вам всё объяснит, -- улыбается профессор. -- До свидания.^
                            -- До свидания, -- говорю я.]]
                        }
                    ,["s._talk==10"] =
                        [[-- Что? -- профессор забавно вздёргивает брови. -- Не можете найти кабинет? Два, два, два, двенадцать, дальше по коридору.]]
                  }
  ,Think        = [[Нет, я уже определённо видел его раньше. Может, на подготовительных курсах?]]
}:like(pHuman)

dream1_takecard =
  choose_ {
     ["default"] = [[Может, стоит сначала посмотреть, что изображено на этой карте?]]
    ,["s._examed"] =
        chain_ {
          [[-- Я выбираю {s:M('вн')}, -- говорю я.^
            -- Интересно... -- профессор, наконец, оставляет в покое клавиатуру и смотрит на меня. -- А почему именно эту? Можете
            как-нибудь объяснить?]],
          set_("s._took"),
          function(s)
            if s==dream1room_card1 then
              unlock_("sphere")();
            elseif s==dream1room_card2 then
              unlock_("triangle")();
            else
              unlock_("square")();
            end
          end,
          inc_("dream1room_professor._talk")
        }
  }

dream1room_card1 = item {
   _examed      = false
  ,_took        = false
  ,nam          = choose_ {
                     ["default"] = _"первая карта"
                    ,["s._examed"] = _"карта с кругом|~первая карта"
                  }
  ,Exam         = chain_ {
                    set_("s._examed"),
                    [[На первой карте изображён круг.]]
                  }
  ,Read         = redirect_("Exam")
  ,Move         = [[Думаю, нет смысла перетасовывать карты. Это же не игра в покер.]]
  ,Wreck        = [[Я бы предпочел не портить карты.]]
  ,Tear         = redirect_("Wreck")
  ,Take         = dream1_takecard
  ,Choose       = dream1_takecard
  ,cnd          = if_("dream1room_professor._talk==3")
}:like(pItem)

dream1room_card2 = item {
   _examed      = false
  ,_took        = false
  ,nam          = choose_ {
                     ["default"] = _"вторая карта"
                    ,["s._examed"] = _"карта с треугольником|~вторая карта"
                  }
  ,Exam         = chain_ {
                    set_("s._examed"),
                    [[На второй карте изображён треугольник.]]
                  }
  ,Read         = redirect_("Exam")
  ,Wreck        = redirect_("Wreck", "dream1room_card1")
  ,Tear         = redirect_("Wreck", "dream1room_card1")
  ,Move         = redirect_("Move", "dream1room_card1")
  ,Take         = dream1_takecard
  ,Choose       = dream1_takecard
  ,cnd          = if_("dream1room_professor._talk==3")
}:like(pItem)

dream1room_card3 = item {
   _examed      = false
  ,_took        = false
  ,nam          = choose_ {
                     ["default"] = _"третья карта"
                    ,["s._examed"] = _"карта с квадратом|~третья карта"
                  }
  ,Exam         = chain_ {
                    set_("s._examed"),
                    [[На третьей карте изображён квадрат.]]
                  }
  ,Read         = redirect_("Exam")
  ,Wreck        = redirect_("Wreck", "dream1room_card1")
  ,Tear         = redirect_("Wreck", "dream1room_card1")
  ,Move         = redirect_("Move", "dream1room_card1")
  ,Take         = dream1_takecard
  ,Choose       = dream1_takecard
  ,cnd          = if_("dream1room_professor._talk==3")
}:like(pItem)


------------------------------------------------------------------------------------------------------------------------------
--dream1room2
------------------------------------------------------------------------------------------------------------------------------
function dream1_countcards()
  local function f(b)
    if b then return 1; else return 0; end
  end
  return f(card1._took)+f(card2._took)+f(card3._took);
end

dream1room2 = scene {
   obj          = {
                     "dream1room2_itself"
                    ,"dream1room2_cards"
                    ,"dream1room2_walls"
                    ,"dream1room2_door2"
                    ,"dream1room2_wallpaper"
                    ,"dream1room2_window"
                    ,"dream1room2_chair"
                    ,"dream1room2_table"
                    ,"dream1room_shaft"
                    ,"cmn_floor"
                    ,"cmn_ceil"
                    ,"card1"
                    ,"card2"
                    ,"card3"
                  }
  ,Exit         = walk_("dream1coridor1")
  ,Wait         = [[Можно, конечно, просто подождать профессора и спросить его, не находил ли он моё удостоверение, однако я
                    понятия не имею, когда он вернётся. Вдруг мне придётся прождать его весь день?]]
  ,Stand        = choose_ {
                     ["default"] = [[Я и так стою на ногах.]]
                    ,["dream1room2_chair._sit"] = [[Да уж, некогда валять дурака и играть во всякие глупые игры. Надо найти свой пропуск.]]
                  }
  ,ExamSelf     = choose_ {
                     ["default"] = [[Думаю, я ещё успею налюбоваться на себя.]]
                    ,["has_inventory()"] = inventory
                    ,["dream1coridor3._seen"] =
                        [[Я проверяю ещё раз свои карманы, но пропуска не нахожу. Должно быть, я всё-таки обронил его где-то.]]
                  }
}

dream1room2_itself = item {
   _walk        = 0
  ,nam          = _"комната"
  ,dsc          = concat_ {
                    [[Профессора в комнате нет -- наверное, он отошёл куда-то. К тому же здесь довольно темно -- широкое прямоугольное окно,
                      перед которым сидел Ярославский, затянуто тонкой светозащитной тенью, и из-за этого кажется, что уже начинает смеркаться.
                      Астральные пейзажи на стенах теперь выглядят, как чёрные квадраты -- одинаковые снимки пустоты, на которых нельзя разглядеть
                      ничего, кроме идеального бессветного вакуума.]],
                    if_("not dream1room2_chair._move",
                      [[Неудобный стул с обивкой из искусственной кожи стоит точно так же, под тем же самым углом к столу, как и когда я вошёл сюда
                        впервые, точно этот безыскусный кабинет необъяснимым образом перестраивает себя, возвращает все вещи в исходную точку,
                        стоит только закрыть тугую подпружиненную дверь.^]]),
                    if_("dream1room2_chair._move", "^"),
                    [[Я осматриваю кабинет, но нигде не вижу свой пропуск. Я думаю, что мог оставить пропуск на столе -- например, невольно вытащил
                    его из кармана, пока профессор пытал меня своими вопросами, -- ]]
                  }
  ,Exam         = redirect_("Refresh", "dream1room2")
  ,Walk         = choose_ {
                     ["default"] = 
                        chain_ {
                          inc_("s._walk"),
                          [[Я обхожу весь кабинет в поисках своего пропуска, но нигде его не вижу.]]
                        }
                    ,["s._walk==1"] =
                        chain_ {
                          inc_("s._walk"),
                          [[Я ещё раз проверяю всю комнату. Наверное, моего пропуска здесь всё-таки нет. Я мог обронить его
                            в каком-то другом месте. А может, его просто забрал с собой профессор? В любом случае, нужно что-то придумать.
                            Я обязательно должен попасть в тот кабинет. Было бы глупо провалить всё из-за своей рассеянности.]]
                        }
                    ,["s._walk==2"] =
                        [[Я думаю, здесь моего пропуска нет. Наверное, его забрал профессор. Но куда в таком случае пропал сам профессор?]]
                  }
  ,Search       = redirect_("Walk")
}:like(pRoom)

dream1room2_cards = rooms.dsc {
   dsc          = choose_ {
                     ["default"] = [[однако на столе лежат лишь три проклятые карты с изображениями геометрических фигур.]]
                    ,["dream1_countcards()==3"] = [[однако на столе ничего нет.]]
                    ,["dream1_countcards()==2"] = [[однако на столе лежит лишь одна из тех карт, которыми мучил меня профессор.]]
                    ,["dream1_countcards()==1"] = [[однако на столе лежат лишь две карты с изображением геометрических фигур.]]
                  }
}

dream1room2_walls = item {
   nam          = name_ {
                     ["default"] = _"стены"
                    ,["Walk"] = _"стена"
                    ,["Approach"] = _"стена"
                  }
  ,Exam         = [[Из-за вечернего освещения стены теперь кажутся тёмно-серыми.]]
  ,Approach     = redirect_("Approach", "dream1room2_wallpaper")
  ,Search       = redirect_("Approach", "dream1room2_wallpaper")
}:like(pWall)

dream1room2_door2 = item {
   nam          = name_ {
                     ["default"] = _"дверь"
                    ,["Exit"] = _"коридор"
                  }
  ,Exam         = [[Моего пропуска под дверью, к сожалению, нет.]]
  ,Close        = [[Я закрыл за собой дверь, когда зашёл в кабинет.]]
  ,Open         = redirect_("Exit", "dream1room2")
  ,Approach     = [[Я подхожу к двери и внимательно осматриваю пол вокруг, однако пропуска не нахожу.]]
  ,Search       = redirect_("Approach")
  ,Move         = [[Лучше оставить эту дверь в покое.]]
  ,Exit         = redirect_("Exit", "dream1room2")
  ,Wreck        = dream1str_calm
  ,Ascend       = dream1str_calm
}:like(pDoor)

dream1room2_wallpaper = item {
   nam          = _"фотографии"
  ,Exam         = [[Из-за того, что солнечный свет едва пробивается в комнату через жидкокристаллическую пелену, эти снимки 
                    теперь выглядят совсем чёрными. Мне даже не хочется их разглядывать.]]
  ,Take         = [[Сомневаюсь, что мне пригодится хоть одна из этих фотографий.]]
  ,Move         = [[Ну и зачем мне перевешивать снимки? Есть более важные вещи, которыми я мог бы заняться. Например, найти
                    свой пропуск.]]
  ,Open         = redirect_("Move")
  ,Approach     = [[Я подхожу к стене с космическими видами и осматриваю пол. Пропуска нет.]]
  ,Search       = redirect_("Approach")
  ,Tear         = dream1str_calm
}:like(pHang)

dream1room2_window = item {
   nam          = _"окно"
  ,Exam         = [[Профессор, наверное, активировал электронные жалюзи, когда уходил. Странно, но я нигде не вижу блока управления
                    или пульта. Быть может, профессор забрал его с собой? Да и как включить в комнате свет тоже неясно -- можно
                    подумать, что здесь вообще нет никаких осветительных приборов. По крайней мере, я не вижу ламп на потолке.]]
  ,Open         = [[Вряд ли это окно открывается. Да и как отключить жидкокристаллические жалюзи тоже не очень понятно.]]
  ,Move         = [[Лучше всё-таки не заниматься ерундой, а попробовать поискать свой пропуск.]]
  ,Approach     = [[Я осматриваю пол рядом с окном, но пропуска не нахожу. Да и сомнительно, чтобы я просто выронил его здесь.]]
  ,Search       = redirect_("Approach")
}:like(pWindow)

dream1room2_chair = item {
   _sit         = false
  ,_move        = false
  ,nam          = _"стул"
  ,Exam         = [[На стуле пропуска нет.]]
  ,Sit          = choose_ {
                     ["default"] =
                        chain_ {
                          set_("s._sit"),
                          [[Я усаживаюсь за cтол и на секунду представляю себя важным титулованным профессором. Я сижу в своём личном
                            кабинете, ожидая очередного абитуриента, который будет нелепо заикаться и мямлить, отвечая на вопросы.
                            И только от моей вящей прихоти зависит, сдаст ли он тест, поступит ли в институт.]]
                        }
                    ,["s._sit"] = [[Мне некогда здесь рассиживаться. Надо попытаться найти свой пропуск.]]
                  }
  ,Ascend       = [[Не вижу смысла залезать с ногами на стул.]]
  ,Take         = [[Стул мне сейчас не поможет.]]
  ,Move         = chain_ {
                    set_("s._move"),
                    [[Я передвигаю стул и тщательно осматриваю пол, но пропуска не нахожу.]]
                  }
  ,Search       = redirect_("Move")
  ,Wreck        = dream1str_calm
}:like(pChair)

dream1room2_table = item {
   nam          = _"стол"
  ,Exam         = choose_ {
                     ["default"] = [[На столе моего пропуска нет -- только три карты с фигурами, похожие на игральные.]]
                    ,["dream1_countcards()==3"] = [[На столе моего пропуска нет.]]
                    ,["dream1_countcards()==2"] =
                        [[На столе моего пропуска нет -- только одна карта из тех, которые использовал для своего странного теста профессор.]]
                    ,["dream1_countcards()==1"] = 
                        [[На столе моего пропуска нет -- только две карты с геометрическими фигурами.]]
                  }
  ,Lie          = [[Сомневаюсь, что стоит забираться на стол, даже если здесь нет профессора.]]
  ,Ascend       = redirect_("Lie")
  ,Open         = [[Я осматриваю стол, но не нахожу никаких ящиков или отделений. Если профессор нашёл мой пропуск, то в стол он его положить не мог.]]
  ,Close        = [[Судя по всему, в этом столе даже нечего закрывать.]]
  ,Move         = [[Вряд ли мне это поможет в поисках пропуска, к тому же стол довольно тяжёлый.]]
  ,Take         = [[Ну, вот опять в голову мне начинают лезть странные вещи. Я должен успокоиться. Нужно просто вспомнить -- где я мог оставить
                    свой пропуск.]]
  ,Stand        = redirect_("Stand", "dream1room2_chair")
  ,Sit          = redirect_("Sit", "dream1room2_chair")
  ,Search       = [[Нет, под столом моего пропуска нет. На самом столе, впрочем, тоже.]]
}:like(pTable)

dream1_putcard =
  use_ {
     ["dream1room2_table"] =
        chain_ {
          unset_("s._took"),
          dropself,
          putself_("dream1room2"),
          [[Я бросаю {s:M('вн')} обратно на стол.]]
        }
    ,["default"] = "Не стоит разбрасывать здесь эти карты."
    ,["dream1coridor3_lock"] = redirect_("Insert")
  }

dream1_insertcard =
  choose_ {
     ["dream1coridor3_lock._open"] = "Дверь уже открыта, больше мне ничего делать не надо."
    ,["default"] = setslot
  }

dream1_takecard =
  chain_ {
    set_("s._took"),
    takeself,
    [[Я беру со стола {s:M('вн')}.]]
  }

card1 = item {
   _took        = false
  ,_activated   = false
  ,index        = 1
  ,nam          = _"карта с кругом"
  ,figure       = "круга"
  ,Exam         = [[На этой карте изображён круг.]]
  ,Move         = redirect_("Move", "dream1room_card1")
  ,Put          = dream1_putcard
  ,Insert       = dream1_insertcard
  ,Throw        = redirect_("Put")
  ,Take         = dream1_takecard
  ,Read         = redirect_("Exam")
  ,Wreck        = dream1str_calm
  ,Tear         = dream1str_calm
}:like(pItem)

card2 = item {
   _took        = false
  ,_activated   = false
  ,index        = 2
  ,nam          = _"карта с треугольником"
  ,figure       = "треугольника"
  ,Exam         = [[На этой карте изображён треугольник.]]
  ,Move         = redirect_("Move", "dream1room_card1")
  ,Insert       = dream1_insertcard
  ,Put          = dream1_putcard
  ,Throw        = redirect_("Put")
  ,Take         = dream1_takecard
  ,Read         = redirect_("Exam")
  ,Wreck        = dream1str_calm
  ,Tear         = dream1str_calm
}:like(pItem)

card3 = item {
   _took        = false
  ,_activated   = false
  ,index        = 3
  ,nam          = _"карта с квадратом"
  ,figure       = "квадрата"
  ,Exam         = [[На этой карте изображён квадрат.]]
  ,Move         = redirect_("Move", "dream1room_card1")
  ,Insert       = dream1_insertcard
  ,Put          = dream1_putcard
  ,Throw        = redirect_("Put")
  ,Take         = dream1_takecard
  ,Read         = redirect_("Exam")
  ,Wreck        = dream1str_calm
  ,Tear         = dream1str_calm
}:like(pItem)


------------------------------------------------------------------------------------------------------------------------------
--dream1coridor1
------------------------------------------------------------------------------------------------------------------------------
dream1coridor1 = scene {
   obj          = {
                     "dream1coridor1_itself0"
                    ,"dream1coridor1_start"
                    ,"dream1coridor1_itself"
                    ,"dream1coridor1_coridor"
                    ,"dream1coridor1_signs"
                    ,"dream1coridor1_info"
                    ,"dream1coridor1_left"
                    ,"dream1coridor1_right"
                    ,"dream1coridor1_room"
                    ,"dream1coridor1_door"
                    ,"dream1coridor1_window"
                    ,"cmn_floor"
                    ,"cmn_ceil"
                  }
  ,Wait         = [[Нет смысла здесь задерживаться -- скоро наверняка придут другие абитуриенты и соберётся очередь. Лучше поскорее
                    найти этот кабинет.]]
  ,Exit         = [[Пока мне ещё рано уходить, надо зайти в тот кабинет, о котором говорил профессор.]]
  ,ExamSelf     = choose_ {
                     ["default"] = [[Думаю, я ещё успею налюбоваться на себя.]]
                    ,["has_inventory()"] = inventory
                    ,["dream1coridor3._seen"] =
                        [[Я проверяю ещё раз все свои карманы, но пропуска не нахожу. Должно быть, я всё-таки обронил его где-то.]]
                  }
  ,enter        = timer_(3000)
  ,timer        = chain_ {
                    timerstop,
                    playonce_("morning")
                  }
}

dream1coridor1_itself0 = rooms.dsc
  [[Я стою в широком светлом коридоре, где нет никого, кроме меня. Вместо окон здесь -- огромное полотно армированного стекла, которое
    тянется через всю правую стену, от самого пола до потолка, и из-за этого у меня даже начинает слегка кружиться голова, точно я теряю
    чувство равновесия лишь из-за солнечного вида с тридцать четвёртого этажа.]]
    
dream1coridor1_start = rooms.event
  [[И я ещё собираюсь стать космонавтом, когда в действительности до смерти боюсь высоты!]]

dream1coridor1_itself = rooms.dsc
  [[^Здесь есть дверь в кабинет Ярославского, из которого я только что вышел, а также разноцветные таблички с направлениями -- стрелки
    в виде треугольников, непонятные иконки и длинные многозначительные номера. Чуть поодаль стоит высокий информационный терминал с сенсорным
    экраном.]]

dream1coridor1_window = item {
   nam          = _"окно"
  ,Exam         = redirect_("Approach")
  ,Open         = [[Это по сути и не окно, а просто прозрачная стена. Не думаю, что её можно как-то открыть.]]
  ,Close        = [[Окно и так закрыто.]]
  ,Wreck        = [[Даже если бы я и хотел разбить окно, у меня бы всё равно ничего не получилось.]]
  ,Approach     = [[Я подхожу к окну и некоторое время просто смотрю на залитый светом город, сощуривая глаза от яркого солнца. Институт
                    стоит на окраине, здания вокруг в основном невысокие, и главный корпус, в котором я нахожусь, кажется на их фоне самым
                    настоящим небоскрёбом. Даже с этого этажа открывается просто головокружительный вид -- многоярусная автострада,
                    уходящая вдаль, за пределы города, лесопарки, окружённые кольцами из дорог, старые церкви, которые почти теряются
                    в зелени, точно бесконечные тополи прорастают прямо сквозь их ветхие камни, и жилые дома, все аккуратного кремового цвета
                    и какие-то нелепо одинаковые, как будто у архитектора района закончилась фантазия. Если я поступлю сюда, то буду видеть
                    это каждый день.]]
  ,Ascend       = dream1str_calm
}:like(pWindow)

dream1coridor1_signs = item {
   nam          = _"таблички|~указатели"
  ,Exam         = [[Я подхожу к указателям и начинаю их рассматривать. На многих табличках можно заметить странную абстрактную иконку --
                    выведенный жирным контуром круг, -- смысл которой мне неясен. Наконец, я нахожу комнату, о которой говорил
                    профессор -- 222-12. Если верить указателю, то нужно идти налево.]]
  ,Read         = redirect_("Exam")
  ,Approach     = redirect_("Exam")
  ,Take         = dream1str_calm
  ,Move         = dream1str_calm
  ,Tear         = dream1str_calm
}:like(pHang)

dream1coridor1_info = item {
   _near        = false
  ,nam          = _"информационный терминал"
  ,Exam         = [[Я подхожу к терминалу и касаюсь пальцем треугольного герба института на экране -- передо мной появляется
                    длинный список всех абитуриентов этого сезона. Я внимательно просматриваю список в поисках своей фамилии.^
                    Так, Тихонов Алексей...^
                    Вот.^
                    Я нажимаю пальцем на свою фамилию, и передо мной разворачивается карточка с профилем. Средний балл -- 
                    4.96, как и говорил профессор. Надеюсь, этого и правда хватит, чтобы поступить. Если, конечно, я не
                    завалил психологический тест со всеми этими карточками.^
                    Я отхожу от терминала, и мой профиль автоматически закрывается, а на экране вновь проявляется огромный
                    абстрактный герб -- высокий равнобедренный треугольник с квадратом внутри, в который, в свою очередь,
                    вписан круг -- как будто одна геометрическая фигура прорастает из другой.]]
  ,Approach     = redirect_("Exam")
  ,Move         = [[Вряд ли у меня получится сдвинуть его хоть на миллиметр.]]
  ,Open         = [[Не представляю, как можно открыть информационный терминал.]]
  ,TurnOn       = [[Терминал и так работает.]]
  ,TurnOff      = [[Откючить этот терминал отсюда невозможно. Скорее всего, терминалы в коридорах управляются централизованно.]]
  ,Wreck        = [[Ну уж нет, я не собираюсь заниматься вандализмом.]]
  ,Ascend       = dream1str_calm
}:like(pDevice)

dream1coridor1_coridor = item {
   nam          = _"коридор"
  ,Exam         = [[Такое впечатление, что я во всём этом здании один -- нет ни студентов, ни преподавателей (кроме тех, которые, верно,
                    прячутся в своих аудиториях) -- никого. Я, конечно, специально пришёл пораньше, чтобы не отстаивать в очередях, однако
                    я вовсе не ожидал, что здесь будет так пустынно. Это очень странно.]]
  ,Walk         = [[И куда же мне идти? Направо или налево?]]
  ,Listen       = [[Здесь тихо, никого нет. Как ни странно, но я один на всём этом этаже.]]
}:like(pRoom)

dream1coridor1_left = item {
   nam          = _"направо"
  ,Walk         = walk_("dream1coridor2")
}

dream1coridor1_right = item {
   nam          = _"налево"
  ,Walk         = walk_("dream1coridor3")
}

dream1coridor1_room = item {
   _closed      = false
  ,nam          = _"кабинет"
  ,Walk         = choose_ {
                     ["default"] = "Мне там больше нечего делать, надо идти в тот кабинет, о котором сказал профессор." 
                    ,["dream1coridor3._seen"] = walk_("dream1room2")
                  }
  ,Enter        = redirect_("Walk")
}:like(pLocation)

dream1coridor1_door = item {
   nam          = _"дверь"
  ,Exam         = [[Дверь в кабинет Ярославского, где я только что проходил весьма странный психологический тест.]]
  ,Open         = redirect_("Walk", "dream1coridor1_room")
  ,Approach     = redirect_("Walk", "dream1coridor1_room")
  ,Wreck        = [[Странные мысли приходят мне сегодня в голову.]]
}:like(pDoor)


------------------------------------------------------------------------------------------------------------------------------
--dream1coridor2
------------------------------------------------------------------------------------------------------------------------------
dream1coridor2 = scene {
   obj          = {
                     "dream1coridor2_itself"
                    ,"dream1coridor2_elevator"
                    ,"dream1coridor2_armchair"
                    ,"dream1coridor2_mag"
                    ,"dream1coridor2_table"
                    ,"dream1coridor2_goleft"
                    ,"cmn_floor"
                    ,"cmn_ceil"
                  }
  ,Wait         = redirect_("Wait", "dream1coridor1")
  ,Exit         = redirect_("Exit", "dream1coridor1")
  ,Return       = walk_("dream1coridor1")
  ,ExamSelf     = choose_ {
                     ["default"] = [[Думаю, я ещё успею налюбоваться на себя.]]
                    ,["has_inventory()"] = inventory
                    ,["dream1coridor3._seen"] =
                        [[Я проверяю ещё раз свои карманы, но пропуска не нахожу. Должно быть, я всё-таки обронил его где-то.]]
                  }
  ,Stand        = choose_ {
                     ["default"] = [[Я и так стою.]]
                    ,["dream1coridor2_armchair._sit"] =
                        [[Да, мне некогда здесь рассиживаться. Я ведь ещё не сдал свой психологический тест.]]
                  }
}

dream1coridor2_itself = item {
   nam          = _"коридор"
  ,dsc          = [[Кажется, я пошёл не в ту сторону -- коридор тут завершается, упираясь в площадку с лифтами. Но уходить мне пока
                    что рано, надо бы вернуться назад.^
                    Длинной остеклённой панорамы облачного города здесь нет, и поэтому в этой части коридора уже не так светло
                    -- впрочем, глаза мои устали от колкого солнечного света. У стены, на которую падает странная угловатая
                    тень, напоминающая силуэт какой-то механической конечности или огромного промышленного кронштейна, стоит небольшое и
                    жёсткое на вид кресло, а также столик с электронным журналом.]]
  ,Exam         = [[Здесь тоже никого нет. Непонятно. Что творится в институте сегодня?]]
  ,Walk         = redirect_("Exam")
}:like(pRoom)

dream1coridor2_elevator = item {
   nam          = name_ {
                     ["default"] = _"лифт"
                    ,["Open"] = "двери лифта"
                    ,["Close"] = "двери лифта"
                  }
  ,Exam         = [[Обычный скоростной лифт, ничего интересного.]]
  ,Approach     = [[Пока ещё рано уходить, я же должен сходить в тот кабинет, о котором говорил профессор.]]
  ,Open         = redirect_("Approach")
  ,Close        = [[Я и сам не понимаю, чего хочу добиться от лифта.]]
  ,Wreck        = dream1str_calm
  ,Request      = redirect_("Approach")
  ,Enter        = redirect_("Approach")
  ,articles     = {
                    ["Enter"] = "в"
                  }
}:like(pBuild)

dream1coridor2_armchair = item {
   _sit         = false
  ,nam          = _"кресло"
  ,Exam         = [[Узкое и жёсткое кресло с высокими бортиками, которое напоминает, скорее, странноватый предмет антуража в модном
                    ныне минималистическом стиле, чем место, где действительно удобно сидеть.]]
  ,Lie          = [[Вряд ли у меня получится разлечься в этом кресле, да и не стоит, пожалуй, терять время. Кто знает, быть может, ближе
                    к обеду в институте опять соберутся толпы людей как обычно.]]
  ,Sit          = choose_ {
                     ["default"] =
                        chain_ {
                          set_("s._sit"),
                          [[Я усаживаюсь в кресло. Кресло действительно довольно жёсткое и неудобное, как дешёвый офисный стул. Немного
                            передохнув, я поднимаюсь.]]
                        }
                    ,["s._sit"] = "Не стоит терять время."
                  }
  ,Move         = [[Не вижу смысла передвигать это кресло.]]
  ,Wreck        = dream1str_calm
  ,articles     = {
                     ["Sit"] = "в"
                    ,["Lie"] = "в"
                    ,["Stand"] = "с"
                    ,["Descend"] = "с"
                  }
  ,Approach     = [[Я подхожу к странному узкому креслу, стоящему у стены.]]
}:like(pChair)

dream1coridor2_mag = item {
   _examed      = false
  ,nam          = _"электронный журнал"
  ,Exam         = choose_ {
                     ["s._examed"] = [[Журнал не работает, да и не стоит мне терять здесь время.]]
                    ,["default"] = 
                        chain_ {
                          set_("s._examed"),
                          [[Я беру журнал и пролистываю пальцем список выпусков. Странно, но здесь есть только "Занимательная
                            наука" -- больше сотни номеров, наверное, за последние десять лет. Я открываю наугад один из номеров журнала, и на
                            первой же странице, вместо оглавления или вступительного слова редактора, появляется монотонно-серый куб,
                            который медленно вращается вокруг своей оси на космическом чёрном фоне, точно планета. Я касаюсь куба пальцем,
                            и тот замирает -- а вместе с ним вдруг подвисает и весь электронный сборник, переставая реагировать на мои
                            жесты. Покачав головой, я бросаю сборник обратно на стол.]]
                        }
                  }
  ,Read         = redirect_("Exam")
  ,Take         = choose_ {
                     ["default"] = redirect_("Exam")
                    ,["s._examed"] = [[Мне не нужен этот электронный сборник, пусть уж он лучше лежит здесь.]]
                  }
  ,Move         = [[Я перекладываю журнал на другой конец столика, сам не понимая зачем.]]
  ,Tear         = choose_ {
                     ["default"] = [[Не вижу смысла портить электронный журнал.]]
                    ,["s._examed"] = [[Судя по всему, он и так сломан.]]
                  }
  ,TurnOff      = [[Такие электронные журналы работают постоянно, сам экран не потребляет энергии. Так что отключить их попросту невозможно.
                    Разве что порвать, как лист бумаги.]]
  ,TurnOn       = redirect_("TurnOff")
  ,Close        = redirect_("TurnOff")
  ,Open         = redirect_("Exam")
}:like(pDevice)

dream1coridor2_table = item {
   nam          = _"стол"
  ,Exam         = [[Самый обычный на вид узенький журнальный столик, смотреть особенно не на что.]]
  ,Sit          = redirect_("Sit", "dream1coridor2_armchair")
  ,Lie          = [[Вот это я делать точно не буду.]]
  ,Move         = [[Не вижу смысла передвигать журнальный столик. Что мне это даст?]]
  ,Wreck        = dream1str_calm
  ,Approach     = [[Я подхожу к журнальному столику.]]
}:like(pTable)

dream1coridor2_goleft = item {
   nam          = _"налево|назад"
  ,Walk         = redirect_("Return", "dream1coridor2")
}


------------------------------------------------------------------------------------------------------------------------------
--dream1coridor3
------------------------------------------------------------------------------------------------------------------------------
dream1coridor3 = scene {
   obj          = {
                     "dream1coridor3_itself"
                    ,"dream1coridor3_event"
                    ,"dream1coridor3_wall"
                    ,"dream1coridor3_door"
                    ,"dream1coridor3_lock"
                    ,"dream1coridor3_goright"
                    ,"dream1coridor3_goleft"
                    ,"cmn_floor"
                    ,"cmn_ceil"
                  }
  ,Wait         = redirect_("Wait", "dream1coridor1")
  ,Exit         = redirect_("Exit", "dream1coridor1")
  ,Return       = walk_("dream1coridor1")
  ,enter        = timer_(4000)
  ,ExamSelf     = choose_ {
                     ["default"] = [[Думаю, я ещё успею налюбоваться на себя.]]
                    ,["has_inventory()"] = inventory
                    ,["dream1coridor3._seen"] =
                        [[Я проверяю ещё раз свои карманы, но пропуска не нахожу. Должно быть, я всё-таки обронил его где-то.]]
                  }
  ,timer        = chain_ {
                    timerstop,
                    playonce_("macros",3)
                  }
}

dream1coridor3_itself = rooms.dsc {
  dsc           = choose_ {
                     ["default"] =
                        [[Коридор здесь перекрыт прозрачной стеной с автоматической дверью, над которой высвечивается красная надпись:^
                          <i>Внимание! Проход в зону 222 разрешен только сотрудникам института и абитуриентам</i>.^
                          Рядом с дверью можно заметить считыватель для карт.]]
                    ,["dream1coridor3_lock._open"] = 
                        [[Коридор перекрыт прозрачной стеной, на которой высвечивается угрожающе-красная надпись:^
                          <i>Внимание! Проход в зону 222 разрешен только сотрудникам института и абитуриентам</i>.^
                          Однако дверь под этим броским предупреждением открыта, я могу идти дальше.]]
                  }
}

dream1coridor3_event = rooms.event
  [[Странно. Я был в институте уже множество раз, но никогда не замечал ничего подобного. Но в любом случае мой пропуск абитуриента
    должен сработать.^
    Я запускаю руку в нагрудный карман и тут же замираю, почувствовав холодный укол в сердце. Пропуска нет! Нет его ни в брюках, ни в
    карманах рубашки. Я несколько минут тщательно осматриваю свою одежду, но пропуска не нахожу. Быть может, я выронил его где-то? В
    кабинете профессора?]]

dream1coridor3_wall = item {
   nam          = _"стена"
  ,Exam         = [[Стена, перегородившая коридор, сделана из армированного стекла и примыкает к потолку. Нет ни малейшей щели. Можно даже
                    подумать, что это перекрытие полностью герметично. Нечто подобное ожидаешь увидеть в каком-нибудь закрытом научном учреждении,
                    но не в обычном институте через неделю после дня открытых дверей. Что здесь творится?]]
  ,Approach     = [[Я подхожу к стене и замечаю с другой стороны стекла следы от чьих-то рук -- как будто кто-то пытался выбраться из
                    запечатанного коридора. Хотя, может, это просто так развлекались другие абитуриенты? Удивительно ещё, что здесь нет похабных
                    надписей.]]
  ,Move         = [[Сомневаюсь, что эта стена сдвинется.]]
  ,Wreck        = dream1str_calm
  ,Ascend       = dream1str_calm
  ,Open         = redirect_("Move")
}:like(pWall)

dream1coridor3_door = item {
   nam          = name_ {
                     ["default"] = _"дверь"
                    ,["Walk"] = _"дверной проём"
                    ,["Enter"] = _"дверной проём"
                  }
  ,Exam         = choose_ {
                     ["default"] = 
                        [[Дверь сделана из прочного армированного стекла и полностью автоматическая -- я не вижу никаких ручек или
                          кнопок. Дверь откроется, только если предъявить картоприёмнику пропуск.]]
                    ,["dream1coridor3_lock._open"] = 
                        [[Дверь открыта, и я могу, наконец, добраться до этого злополучного кабинета, где, как я надеюсь, завершится моё сегодняшнее
                          испытание. Не стоит терять здесь время.]]
                  }
  ,Open         = choose_ {
                     ["default"] = [[Нет, открыть без пропуска эту дверь никак не получится.]]
                    ,["dream1coridor3_lock._open"] = [[Дверь уже открыта.]]
                  }
  ,Close        = choose_ {
                     ["default"] = [[Дверь и так закрыта.]]
                    ,["dream1coridor3_lock._open"] = [[Зачем же закрывать дверь? Я ведь как раз хотел попасть в то крыло здания.]]
                  }
  ,Crack        = [[Я не хакер, чтобы вытворять такое.]]
  ,Approach     = choose_ {
                     ["default"] = 
                        [[Я подхожу к двери в странной надежде, что это толстое стеклянное забрало, перегородившее коридор, распахнётся и
                          пропустит меня даже без забытого удостоверения, однако ничего не происходит.]]
                    ,["dream1coridor3_lock._open"] =
                        choose_ {
                           ["default"] =
                              chain_ {
                                mute_(0,0),
                                walk_("dream1coridor4trans")
                              }
                          ,["dream1coridor4._seen"] = walk_("dream1coridor4")
                        }
                  }
  ,Wreck        = dream1str_calm
  ,Ascend       = dream1str_calm
  ,Enter        = redirect_("Approach")
  ,articles     = {
                    ["Walk"] = "в"
                  }
}:like(pDoor)

dream1coridor3_lock = item {
   _open        = false
  ,_try         = 0
  ,_slot1       = 0
  ,_slot2       = 0
  ,_slot3       = 0
  ,nam          = _"считыватель для карт"
  ,Exam         = choose_ {
                     ["default"] =
                        [[Стандартный считыватель для карт с небольшим дисплеем и картоприёмником. Лицевая панель считывателя имеет форму
                          идеального квадрата. Небольшой экран, также квадратный, размещен ровно по центру панели.^
                          Я продолжаю внимательно осматривать это устройство, как будто надеюсь обнаружить чью-то забытую карту, спасительно
                          торчащую из узкой прорези приёмника, но, разумеется, ничего не нахожу.]]
                    ,["dream1coridor3_lock._open"] = 
                        [[Не понимаю, как я мог открыть эту дверь карточками для психологического теста? Впрочем, сейчас меня это не так
                          уж и сильно заботит. Быть может, заблокированный коридор и карточки -- тоже часть изощрённого психологического
                          теста, через который нужно пройти каждому новичку?]]
                  }
  ,Move         = [[Вряд ли у меня получится это сделать.]]
  ,Open         = choose_ {
                     ["default"] = [[Нет, я не собираюсь взламывать считыватель для карт. Да и не смогу, по правде сказать.]]
                    ,["dream1coridor3_lock._open"] = [[Нет смысла играть со считывателем, дверь и так открыта.]]
                  }
  ,Wreck        = [[Если даже у меня и получится сломать считыватель, то дверь, скорее всего, заблокируется, и я уже точно не смогу её открыть.
                    А заодно и поступить в институт, если окажется, что мои проделки снимают на камеру.]]
  ,Take         = [[Не думаю, что смогу демонтировать считыватель для карт. Да и зачем мне это делать?]]
  ,Crack        = redirect_("Crack", "dream1coridor3_door")
  ,withInsert   = true
  ,withPut      = true
  ,withThrow    = true
  ,articles     = {
                     ["Insert"] = "в"
                    ,["Put"] = "в"
                    ,["PutIn"] = "в"
                    ,["Throw"] = "в"
                  }
}:like(pHang)

dream1coridor3_goright = item {
   nam          = _"направо|назад"
  ,Walk         = redirect_("Return", "dream1coridor3")
}

dream1coridor3_goleft = item {
   nam          = _"налево|дальше"
  ,Walk         = redirect_("Walk", "dream1coridor3_door")
}

dream1_coridordsc =
  [[Непонятно, почему доступ в эту часть коридора решили ограничить -- передо мной всё такие же нумерованные кабинеты и аудитории --
    ничего, что стоило бы скрывать от случайных посетителей.^
    Я осматриваюсь.^
    Здесь тихо. В воздухе, на солнечном свету, поблёскивают редкие пылинки. Кажется, я и правда один во всём этом здании --
    даже профессор, который проводил со мной тест, куда-то ушел. Я уже начинаю сомневаться, что меня действительно ждёт кто-то
    в этом злополучном кабинете.^
    Я останавливаюсь перед дверью с цифрами 222-12 и медлю, не решаясь войти.]]

dream1coridor4trans = pause {
   enter        = music_("swoosh")
  ,dsc          = dream1_coridordsc
  ,time         = 2000
  ,next         = walkfast2_("dream1coridor4trans2")
}

dream1coridor4trans2 = pause {
   time         = 200
  ,next         = walkfast2_("dream1coridor4trans3")
}

dream1coridor4trans3 = pause {
   dsc          = dream1_coridordsc
  ,time         = 200
  ,next         = walkfast2_("dream1coridor4trans4")
}

dream1coridor4trans4 = pause {
   time         = 200
  ,next         = walkfast2_("dream1coridor4trans5")
}

dream1coridor4trans5 = pause {
   dsc          = dream1_coridordsc
  ,time         = 200
  ,next         = walkfast2_("dream1coridor4trans6")
}

dream1coridor4trans6 = pause {
   time         = 200
  ,next         = walkfast2_("dream1coridor4trans7")
}

dream1coridor4trans7 = pause {
   dsc          = dream1_coridordsc
  ,time         = 200
  ,next         = walkfast2_("dream1coridor4trans8")
}

dream1coridor4trans8 = pause {
   time         = 2000
  ,next         = walkfast2_("dream1coridor4")
}


------------------------------------------------------------------------------------------------------------------------------
--dream1coridor4
------------------------------------------------------------------------------------------------------------------------------
dream1coridor4 = scene {
   obj          = {
                     "dream1coridor4_start"
                    ,"dream1coridor4_itself"
                    ,"dream1coridor4_window"
                    ,"dream1coridor4_room"
                    ,"dream1coridor4_goright"
                    ,"cmn_floor"
                    ,"cmn_ceil"
                  }
  ,Wait         = redirect_("Wait", "dream1coridor1")
  ,Exit         = redirect_("Exit", "dream1coridor1")
  ,Return       = walk_("dream1coridor3")
  ,ExamSelf     = choose_ {
                     ["default"] = [[Думаю, я ещё успею налюбоваться на себя.]]
                    ,["has_inventory()"] = inventory
                    ,["dream1coridor3._seen"] =
                        [[Я проверяю ещё раз свои карманы, но пропуска не нахожу. Должно быть, я всё-таки обронил его где-то.]]
                  }
  ,enter        = timer_(4000)
  ,timer        = chain_ {
                    timerstop,
                    music_("horn")
                  }
}

dream1coridor4_start = rooms.event
  [[Я прохожу через образовавшийся проём в стеклянной стене и вдруг на какое-то неуловимое мгновение весь коридор погружается в чёрную
    непроницаемую темноту. Я вздрагиваю и чуть не падаю, потеряв равновесие от испуга, но уже в следующую секунду темнота рассеивается,
    и я вновь оказываюсь посреди залитого солнечным светом коридора.^
    Как это возможно? Что это вообще могло быть?]]

dream1coridor4_itself = item {
   nam          = _"коридор"
  ,dsc          = choose_ {
                    ["not here()._eventOn"] = redirect_("Exam")
                  }
  ,Exam         = dream1_coridordsc
  ,Walk         = [[Я неторопливо прогуливаюсь по коридору, глядя по сторонам и прислушиваясь. Здесь тихо и пусто -- так же, как и на всём
                    этаже. Точно и правда во всём институте никого больше нет.]]
}:like(pRoom)

dream1coridor4_window = item {
   nam          = _"окно"
  ,Exam         = [[Через огромное, занимающее всю стену окно по-прежнему открывается подсвеченный полуденным солнцем вид на аккуратные
                    окраины -- лесопарки, блестящие магистрали, одинаковые кремовые дома. Но как весь коридор мог погрузиться в темноту?
                    Быть может, был какой-то сбой в электронных жалюзях? Или мне это лишь показалось?]]
  ,Approach     = [[Я подхожу к окну и смотрю на город внизу. Однако мне стоит поторопиться, меня уже давно ждут в кабинете 222-12.]]
  ,Open         = [[Это окно невозможно открыть.]]
  ,Close        = [[Окно и так закрыто.]]
  ,Wreck        = [[Думаю, стоит попробовать удовлетворить свои деструктивные наклонности как-нибудь иначе.]]
  ,Ascend       = dream1str_calm
}:like(pWindow)

dream1coridor4_room = item {
   nam          = name_ {
                     ["default"] = _"кабинет"
                    ,["Approach"] = _"дверь"
                    ,["Exam"] = _"дверь"
                    ,["Open"] = _"дверь"
                  }
  ,Exam         = [[Дверь в кабинет -- точно такая же, как и остальные двери здесь. На двери есть табличка с цифрами 222-12. Именно сюда
                    меня и послал профессор Ярославский.]]
  ,Approach     = chain_ {
                    sound_("flash"),
                    light_(true),
                    hideinput,
                    walk_("dream1endtrans")
                  }
  ,Enter        = redirect_("Approach")
  ,Open         = redirect_("Approach")
  ,articles     = {
                    ["Approach"] = "к"
                  }
}:like(pLocation)

dream1coridor4_goright = item {
   nam          = _"направо|назад"
  ,Walk         = redirect_("Return", "dream1coridor4")
}


------------------------------------------------------------------------------------------------------------------------------
--dream1end
------------------------------------------------------------------------------------------------------------------------------
dream1endtrans = pause {
   pic          = "white"
  ,time         = 300
  ,next         = chain_ {
                    showinput,
                    music_("droplet"),
                    walk_("dream1end")
                  }
}

dream1end = scene {
   obj          = {
                    "dream1end_eyes"
                  }
  ,dsc          = [[Наконец, я решаюсь, глубоко вздыхаю, поворачиваю дверную ручку и тут же в глаза мне бьёт ослепляющий электрический
                    свет -- точно миллионы газовых ламп зажигаются одновременно.^
                    Я закрываю руками лицо, испугавшись, что этот неестественный свет лишит меня зрения. Проходит не меньше минуты,
                    прежде чем я решаюсь открыть глаза...]]
  ,Refresh      = [[Нужно открыть глаза, я не могу так здесь всё время стоять.]]
  ,ExamSelf     = redirect_("Refresh")
  ,enter        = timer_(6000)
  ,timer        = chain_ {
                    mute_(2000),
                    timerstop
                  }
}

dream1end_eyes = item {
   nam          = _"глаза"
  ,Open         = chain_ {
                    mute_(0),
                    drop_("card1"),
                    drop_("card2"),
                    drop_("card3"),
                    music_("choir"),
                    walk_("cell2start"),
                    ""
                  }
  ,Close        = [[Мои глаза и так закрыты.]]
}
